package cn.pping.basic.util;

import cn.pping.basic.constant.BaseConstants;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

import java.io.IOException;
/**
* @Title: 手机短信工具类
* @Description: TODO
* @Author: Pan
* @Version: 1.0
* @Date:  2022/7/28 10:59
* @Parameters:
* @Return
*/


public class SmsUtils {

    public static void sendMsg(String phone, String msg){

        try {
            HttpClient client = new HttpClient();
            PostMethod post = new PostMethod("https://utf8api.smschinese.cn/");
            post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//在头文件中设置转码
            NameValuePair[] data ={
                    new NameValuePair("Uid", BaseConstants.SmsConstant.UIO),
                    // 这是全局常量需要是发送短信码的账户和密钥
                    new NameValuePair("Key", BaseConstants.SmsConstant.KEY),
                    // 发送的手机
                    new NameValuePair("smsMob",phone),
                    // 需要发送的内容
                    new NameValuePair("smsText",msg)};
            post.setRequestBody(data);

            client.executeMethod(post);
            Header[] headers = post.getResponseHeaders();
            int statusCode = post.getStatusCode();
            System.out.println("statusCode:"+statusCode); //HTTP状态码
            for(Header h : headers){
                System.out.println(h.toString());
            }
            String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
            System.out.println(result);  //打印返回消息状态
            // 打印消息状态 大于0就代表成功
            post.releaseConnection();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}